import { postRequest } from '@/utils/api'

const $appStoreApi = {

  // 分页获取服务包列表，同时支持根据关键词过滤
  getAppInfoListByPage: param => {
    return postRequest('/appstore/appinfo/page', param)
  },

  // 按分页展示最新服务包
  pageListPackage: param => {
    return postRequest('/appstore/appinfo/pagenew', param)
  },

  // 上传服务包
  uploadPackage: param => {
    return postRequest('/appstore/appinfo/upload', param)
  },

  // 应用商店点击部署，返回页面所需的实体
  getDeployConfig: param => {
    return postRequest(`/appstore/appinfo/yaml/config?appName=${param.appName}&appVersion=${param.appVersion}`)
  },

  // 删除服务包
  deletePackage: param => {
    return postRequest(`/appstore/appinfo/delete?id=${param}`)
  },

  // 根据标识获取所有版本，并反馈给前端展示
  appNameVersionList: param => {
    return postRequest(`/appstore/appinfo/appname/versions?appName=${param}`)
  },

  // 根据标识和版本获取唯一服务包信息
  appInfoByAppNameAndVersion: param => {
    return postRequest(`/appstore/appinfo/only?appName=${param.appName}&appVersion=${param.appVersion}`)
  },

  // 根据标识和版本获取唯一服务包信息
  getFileData: param => {
    return postRequest(`/appstore/gvStoreYamlMount/getFiledata?id=${param.id}&mountFilepath=${param.mountFilepath}`)
  },

  // ------ 服务组相关接口
  // 保存服务组信息
  saveGroupInfo: param => {
    return postRequest(`/appstore/gvStoreGroup/save`, param)
  },

  // 获取所有服务组信息
  listGroup: param => {
    return postRequest(`/appstore/gvStoreGroup/page`, param)
  },

  // 获取服务组关系图信息
  getGroupRelationGraph: param => {
    return postRequest(`/appstore/gvStoreGroup/relationgraph/?id=${param}`, param)
  },

  // 删除服务组信息
  deleteGroupInfo: param => {
    return postRequest(`/appstore/gvStoreGroup/delete?id=${param}`, param)
  }
}

export default $appStoreApi
